home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
raid123.arc
/
RAID.DOC
< prev
next >
Wrap
Text File
|
1989-10-28
|
83KB
|
2,564 lines
>>> STARTING RAID <<<
RAID is started the same way as DEBUG. Type RAID followed by
an optional program name followed by optional arguments. The only
difference between RAID and DEBUG command lines is that the file
extension must be specified.
To run RAID enter:
RAID
To debug foo.com enter:
RAID FOO.COM
To debug myfile.exe with apple as an argument enter:
RAID MYFILE.EXE APPLE
If a file is found with the same name as the program to be
debugged with a .SYM extension it is automatically loaded into
the symbol table.
Raid may be loaded resident so it may be used anytime. To
call up raid after it's been loaded resident and exited use the
<5> key on the numeric pad without numlock. Note: When raid is
resident it keeps interrupts 0, 1, 3, 6, 8, 9, 20, 21, 22, 23,
and 24 vectored to itself. Avoid running programs that also trap
these. There will also be about a 48k reduction in free ram.
To load RAID resident enter:
RAID +R
Note: A filename and arguments may follow the +r.
.pa
>>> Commands <<<
Raid commands are available after typing <F1>. Several
commands that are commonly used are definded as control and
function keys. The function and control key definitions are in
the command summary section.
Commands are selected using a nested tree structure. The
escape key will remove you from the command tree. Or if not in
the command tree will display the function key settings on the
second display line.
Once the <F1> has been depressed the first display line will
show a list of subjects. The second line will show all the
subject's options. To select a different subject use the cursor
keys or the space bar. Once the subject wanted is highlighted
press the return key. If the selection is already know simply
enter the first letter of the subject. This may go on for many
levels until a specific command is reached. At this point the
second line will display a brief description of what action will
take place.
Some commands require data from the user. In this case the
user will be prompted on the first line with the description on
the second line of the display. After the prompt arguments are
entered they must be followed by a return. Commands that require
multiple arguments must have arguments seperated by a space or
comma.
.pa
>>> WINDOWS <<<
Raid uses windows for viewing and modifing various data. The
windows are named BREAKPOINT, CPU, DATA, PROGRAM, STACK, SYMBOLS,
and 6301. Only one window may be active at a time. To change from
window to window use the <F4> key. To go directly to a window use
the following:
<F1> W C B -or- CTRL-B for BREAKPOINT
<F1> W C C -or- CTRL-C for CPU
<F1> W C D -or- CTRL-D for DATA
<F1> W C P -or- CTRL-P for PROGRAM
<F1> W C S -or- CTRL-S for STACK
<F1> P S L for SYMBOL
<F1> W C 6 -or- CTRL-P <F4> for 6301
When a window is active the window name is highlighted in
reverse video. The current item in the window is also highlighted
in reverse video. To change the current selected item use the
cursor keys. To scroll the window a line at a time use the cursor
keys. To scroll the window a page at a time use the PgUp and PgDn
keys.
To set the window orgin address (start address of window) to
a desired value enter the value followed by the <F2> key. The
orgin may also be changed by the <F1> W A command.
To change from data or text in the DATA window use the <F3>
key. Or to change the stack direction in the STACK window use the
<F3> key. In all other windows <F3> will be ignored.
To change data in a window simply type the new data and
press the return key.
Raid displays all windows on one screen except the symbol
window. The SYMBOL window requires a screen of it's own. When
viewing the SYMBOL window as escape key will return you to the
others. The 6301 window will be available only if the computer
model is a KAYPRO 2000 (The Flexy).
BREAKPOINT window:
The breakpoint window displays the status and setting
of the permanet breakpoints. It also allows the setting of
breakpoints. The breakpoints are numbered 0: thru 9:.
The breakpoint viewed in the window may be selected by
entering the breakpoint number and pressing <F2> or
with the <F1> W A command. To scroll thru the breakpoints
use the PgUp and PgDn or cursor keys.
If a 'D' follows the breakpoint number the breakpoint
is disabled. The address, count, type and condition of the
breakpoint is also displayed. If the breakpoint is not
assigned then 'CLEAR' is displayed in the window.
The address is displayed as segment:offset. The count
is displayed as a word hex value. Count of 1 means break on
the first time. The type is displayed as 'Stop', 'Enable
#', 'Disable #', or 'Call segment:offset'. The condition is
displayed as it was entered. (Such as AX<>0).
When a breakpoint is encountered the BREAKPOINT window
will select that breakpoint. For example if breakpoint 7 is
used then the window will display breakpoint 7. Breakpoints
reached in a programs or breakpoint numbers used in commands
will cause this action.
To set a breakpoint enter the specification followed by
return. (See BREAKPOINT section for more information).
.pa
CPU window:
The CPU window displays all machine registers and
flags. To change the value position the current item over
the register or flag value to be changed, enter the
expression to be placed and press return.
Values entered in the flags must be 0 or 1. Since
conditional expressions generate these they can be used to
set flags. For example: AX<>CX would set a flag if AX was
not equal to CX, else if they were equal the flag would be
reset. Expressions can also generate 0 or 1 and can even be
used to copy flags. For example: FLC&FLI would set a flag if
the carry and interrupt flags were on, else the flag would
be reset. If values other than 0 and 1 are attempted an
error is issued.
The CPU window will not accept an orgin address or
scroll. If an attempt is made to move the item out of the
window wraparound will occur. Scroll keys are ignored. An
attempt to set an orgin address will result in an error.
.pa
DATA window:
The DATA window displays 40 bytes of memory in a
specified format and the ascii text. If the ascii character
cannot be displayed then a diamond is displayed insted. The
format of the data displayed defaults to bytes. This can be
changed by using the following commands:
<F1> F D A Display data in address form.
<F1> F D B Display data in byte form.
<F1> F D L Display data in long form.
<F1> F D W Display data in word form.
Data entry may be done in hexadecimal (addresses,
bytes, long, or words) or ascii. To change from one to the
other use the <F3> key. In either mode to select an item to
be changed position the highlight over it. Then if using the
ascii mode enter the ascii characters to be stored followed
by a return. If using the hexadecimal mode enter a list of
Addresses, bytes, long intergers, or words. A list is
defined as one or more expressions seperated by commas or
spaces followed by a return.
List examples:
Address format: cs:145,2378,1256:76c9
Byte format: 12,d4,'a','b',12*3,al,{si}
Long format: 1234:5678 (Means 12345678)
Long intergers must be entered in
address form.
Word format: 1234,'sd','a',132*4,ax,[es:bx]
As things in memory change the DATA window will
reflect the change real time. For example set the DATA
window address to 40:40 and watch the timer tic. When
setting the DATA window to the video display area the screen
will look very 'noisy'. This is from the video ram being
access during the trace and is normal.
On a break the DATA window will show DS:0. When
specifing a new address for the DATA window if the segment
is omitted DS will be assumed.
.pa
PROGRAM window:
The program window displays the disassembled program
and allows inline assembly. To change an item in the program
window position the highlight over the instruction to
change. Then enter the new assemble instruction followed by
a return.
Instructions that are 'abnormal' will be shown in
brown. Instructions that are breakpoint will be shown in
blue. Symbolic labels will be shown in red and followed by a
colon. An arrow preceding the address means this instruction
will be executed next (Instruction Pointer). An asterisks
following the address means this is a temporary breakpoint.
When an instruction that references memory is
highlighted the effective address and contents is displayed
on the second line.
When the size of an operand is not obvious the
disassembler will use 'BYTE PTR' and 'WORD PTR' prefixs. The
assembler accepts these prefixs. If the operand size is not
obvious and a prefix is not used 'BYTE PTR' is assumed. When
immediates are used 2 hexadecimal digits refer to a byte
while four refer to a word.
Segment overides are disassembled on a seperate line
and must be entered as such with the assembler.
The mnemonic for a far return is RETF. Jump
instructions are coded SHORT, NEAR, and FAR automatically
but may be overode using SHORT, NEAR, or FAR prefixes.
String instructions must specify the size in the
mnemonic. MOVS cannot be used, MOVSB for byte or MOVSW for
word can.
Addresses (even symbolic ones) are always displayed in
brackets. The assembler expects this syntax. If an address
is not placed in brackets it will be interpeted as an
immediate value by the parser.
All opcode synonyms are supported by the assembler. The
disassembler however will chose which one to use. The
disassembler uses the following: SHL, REPNZ, REPZ, LOOPZ,
LOOPNZ, JO, JNO, JC, JNC, JZ, JNZ, JBE, JA, JS, JNS, JP,
JNP, JL, JGE, and JLE.
The exchange AX with AX instruction is assembled and
disassembled as NOP. Of course XCHG AX,AX will also
assemble as NOP.
Undefined instructions will disassemble as DB or DW
depending if 1 or 2 bytes are invalid.
The following mnemonics are recognized by Raid:
>>>>> Instructions <<<<<
AAA AAD AAM AAS ADC
ADD AND CALL CBW CLC
CLD CLI CMC CMP CMPSB
CMPSW CWD DAA DAS DEC
DIV ESC HLT IDIV IMUL
IN INC INT INTO IRET
JA JAE JB JBE JC
JCXZ JE JG JGE JL
JLE JMP JNA JNAE JNB
JNBE JNC JNE JNL JNLE
JNG JNGE JNO JNP JNS
JNZ JO JP JPE JPO
JS JZ LAHF LDS LEA
LES LOCK LODSB LODSW LOOPE
LOOPNE LOOPNZ LOOPZ MOV MOVSB
MOVSW MUL NEG NOP NOT
OR OUT POP POPF PUSH
PUSHF RCL RCR REPE REPNE
REPNZ REPZ RET RETF ROL
ROR SAHF SAL SAR SBB
SCASB SCASW SHL SHR STC
STD STI STOSB STOSW SUB
TEST WAIT XCHG XLAT XOR
>>>>> Segment overides <<<<<
CS: DS: ES: SS:
>>>>> Registers <<<<<
AX, BX, CX, DX, BP, DI, SI, SP, SS, CS, DS, ES
AH, AL, BH, BL, CH, CL, DH, DL
>>>>> Prefixes <<<<<
SHORT, NEAR, FAR, BYTE PTR, WORD PTR
The radix of immediate values disassembled may be
changed by the <F1> F R x commands where x refers to the
radix. Binary, decimal, hexadecimal, or octal may be
selected. The following shows each command:
<F1> F R B Display in binary
<F1> F R D Display in decimal
<F1> F R H Display in hexadecimal
<F1> F R O Display in octal
Symbol types are looked at during disassemble.
Symbols defined as byte will be disassembled (For the symbol
length) as DBs. Symbols defined as constants will replace
any immediate value. Symbol defined as labels or addresses
will replace any reference or address.
Disassemble to disk can be done using the <F1> D D
command. (See Disk section).
The CTRL-N key will set the Instruction Pointer to
the current selected item in the PROGRAM window.
.pa
STACK window:
The STACK window displays the contents of the stack and
allows changes to the stack contents. To change a stack
value position the highlight over the item to change, enter
the new value and press return.
The stack order may be reversed by using the <F3> key.
From incrementing to decrementing and vice versa.
An arrow before the address indicates the stack pointer.
The stack upon a program break starts at SS:SP.
The stack window could be used as another data window
for words only but on a program break will return to a stack
display. To do this use <F1> W A or <F2>, the <F3> key also
so the addresses are incrementing.
.pa
>>> EXPRESSIONS <<<
Raid values may be entered as hexadecimal values or as
expressions. Expressions contain operands and operators. Operands
may be constants(binary, decimal, hexadecimal, or octal), machine
register mnemonics, machine flag mnemonics, memory contents (byte
or word), quoted characters, or symbols. Operators are unary,
conditional, arithmetic, or logical.
Expressions may be evaluated by the <F1> E command followed
by the expression to evaluate. The expression may also be
evaluated if followed by the <F8> key. The evaluated expression
is displayed on the 2nd display line in binary, decimal, octal,
and hexadecimal.
Conditional expressions are helpful in breaking a program
under a certain circumstance. For example break if ds:[123]
changed, or when the carry flag goes on, ect...
Nesting of parenthesis may be done. They may be nested 16
levels deep. Expression are processed left to right so
parenthesis are often needed. If the parenthesis mismatch then an
error will be issued.
Division by zero is not allowed. If this occurs an error
will be issued. If a division by zero is done in a running
program it will be trapped by Raid and an error issued.
Examples of expressions:
AX
SI+BX/7
123*(BX/3)
FLC|FLO=0
[DS:BX+SI-18]<>SYMBOL
Unary operators:
+ Positive
- Negitive (2's complement)
~ Complement (1's complement)
Conditional operators:
= Equal to
<> Not equal to
> Greater than
< Less than
>= Greater than or equal to / Not less than
<= Less than or equal to / Not greater than
Arithmetic operators:
+ Addition
- Subtraction
* Multiplication
/ Division
% Remainer
Logical operators:
& And
| Or
\< Shift left
\> Shift Right
() Precedence
Notes:
Using operator combinations many useful functions can
be derived. Operators may be mixed in any fashion. The
following would be used to complete the boolean functions:
NAND ~(<opr1>&<opr2>)
NOR ~(<opr1>|<opr2>)
EXOR ~((<opr1>&<opr2>)|~(<opr1>|<opr2>))
EXNOR (<opr1>&<opr2>)|~(<opr1>|<opr2>)
Hexadecimal constants:
Hexadecimal constants may be entered as is without
a leading zero even if the leading digit is between
'a' and 'f'. This can be troblesom if a symbol for
example is named 'face'. In this case 0face would be
used for a constant and face for the symbol. Entering
long constants (double words) must be done as entering
an address. For example 12345678 would be entered as
1234:5678.
Binary constants:
Binary constants must be preceeded by a '^B'. For
example ^B1101 would enter 0dh.
Decimal constants:
Decimal constants must be preceeded by a '^D'. For
example ^D13 would enter 0dh.
Octal constants:
Octal constants must be preceeded by a '^O'. For
example ^O15 would enter 0dh.
Machine register mnemonics:
All 16 bit registers are supported:
AX, BX, CX, DX, SI, DI, BP, SP
All segments registers are supported:
CS, DS, ES, SS
Control registers are supported:
IP and FL
(Instruction Pointer and FLag register)
All 8 bit registers are supported:
AL, AH, BL, BH, CL, CH, DL, DH
Machine flag mnemonics:
FLT Trap flag
FLA Aux carry flag
FLC Carry flag
FLP Parity flag
FLS Sign flag
FLZ Zero flag
FLD Direction flag
FLI Interrupt flag
FLO Overflow flag
Quoted characters:
ASCII values may be specified in quotes. Single
quotes may be placed in double quotes and vice versa.
If 2 charaters are specifed for a word they will be
reversed (as normal) when hi/lo bytes are stored.
Memory contents:
The contents of memory locations are specified by
placing the address in brakets(for word values) or
braces(for byte values). The address may use
expressions. If the address segment is omitted then the
data segment value is used.
{1234} ;Byte at DS:[1234]
{es:bx+si} ;Byte at ES:[BX+SI]
[ss:34] ;Word at SS:[34]
Symbols:
Symbols are used as addresses when placed in
brakets or braces unless the symbol is defined as a
constant. If this occurs then ds: is used for the
segment and the constant value as the offset. When
symbols are used as constants and not defined as such
then the symbols offset is used. Symbol names are not
restricted so care must be taken not to define a symbol
as a cpu register mnemonic, ect... Also if a symbol is
defined as a hexadecimal number then a leading zero
must be used to distingish the two (See Hexadecimal
numbers).
Conditional expressions:
A condition is said to be true if it equates to not
zero. When using conditional operators they return
zero if false or one if true.
FLC True if carry flag is set
AX True if AX <> 0
[SI]=123 True if word at ds:[si] = 0123
FLA|FLC True if aux carry or carry set
FLA&FLC True if aux carry and carry set
Notes:
Logical operations can be used in math or
relations.
((AX&8000h)=0)&FLO
The above is true if AX sign bit is off and the
overflow flag is set.
.pa
>>> BREAKPOINT <<<
Raid has extremly powerful breakpoint facilitys. There are
up to ten permanent breakpoints and up to ten temporary
breakpoints. The temporary breakpoints are used simply to stop
the program at a given point. The permanent breakpoints allow a
user to select what condition the break should be taken and what
action should be done. Such as stop the program when the carry
flag is set at point cs:1245.
Once a breakpoint is taken all the temporary breakpoints are
removed. (That's why there called temporary).
Once a permanent breakpoint is taken it is disabled so
execution may continue. Disabled means all the breakpoint
specifications are 'remembered' but the breakpoint is not active.
To enable a permanent breakpoint once disabled use the <F1>
B E command. To disable a permanent breakpoint use the <F1> B D
command.
Temporary breakpoints are set by positioning the item in the
program window to the instruction where the breakpoint should be
set. Then issue a <F1> B T command or press <F10>. Temporary
breakpoints are flaged in the program window by an asterisks (*)
following the address. If a temporary breakpoint needs to be
removed do the same. These commands toggle the breakpoint not set
it.
To set a permanent breakpoint the <F1> B S command or
selecting the BREAKPOINT window may be used.
To clear a permanent breakpoint use the <F1> B C command. To
clear all permanent breakpoints use the <F1> B I command.
Permanent breakpoints may have a count specified. This means
the breakpoint will not be active until executed count times. The
default count is 1 (The first time).
Permanent breakpoints may be conditional. A condition given
to a breakpoint must be true for the breakpoint to break. (See
conditional expressions in the expressions section).
Permanent breakpoints have an action specified. The default
action is STOP. Other functions are ENABLE another breakpoint,
DISABLE another breakpoint, or CALL a user routine.
The user routine for permanent breakpoints should end with
an IRET instruction.
<F1> Breakpoint Clear command:
The <F1> B C command removes a permanent breakpoint.
Breakpoints can be disabled without removal with the <F1> B
D command. To clear(remove) all permanent breakpoints use
the <F1> B I command.
The user will be prompted:
'Enter breakpoint number to clear:'
The response must be a valid breakpoint number (0 thru
9). If not no action will occur and an error will be issued.
<F1> Breakpoint Disable All command:
The <F1> B D A command will disable all permanent
breakpoints. They will remain inactive until enabled
with <F1> B E command. Note: Breakpoints can also be enabled
by other breakpoints. Disabled breakpoints are flaged in the
BREAKPOINT window by a 'D' following the breakpoint number.
<F1> Breakpoint Disable Single command:
The <F1> B D S command will disable one permanent
breakpoint. The breakpoint will remain inactive until a <F1>
B E command is issued or another breakpoint enables it. A
'D' will be shown in the BREAKPOINT window following the
breakpoint number to indicate it's disabled.
The user will be prompted:
'Enter breakpoint number to disable:'
The response must be a valid breakpoint number (0 thru
9). If not no action will occur and an error will be issued.
<F1> Breakpoint Enable All command:
The <F1> B E A command will enable all permanent
breakpoints. To disable a breakpoint use the <F1> B D
command. To enable specific breakpoints use the <F1> B E S
command.
.pa
<F1> Breakpoint Enable Single command:
The <F1> B E S command will enable a permanent
breakpoint. The breakpoint will then be active until
disabled by a <F1> B D command or the breakpoint is taken.
The user will be prompted:
'Enter breakpoint number to enable:'
The responce must be a valid breakpoint number (0 thru
9). If not no action will be taken and an error will be
issued. Press return only for breakpoint 0.
<F1> Breakpoint Initialize command:
The <F1> B I command removes (clears) all permanent
breakpoints. To disable all breakpoints insted of clearing
use the <F1> B D A command. To set breakpoints use the <F1>
B S command.
<F1> Breakpoint Set command:
The <F1> B S command is used to set permanent
breakpoints. To disable a set breakpoint use the <F1> B D
command. To clear (remove) a breakpoint use the <F1> B C
command. To set temporary breakpoints (or remove them) use
the <F1> B T command or the <F10> key.
Upon entering <F1> B S the user will be prompted:
'Enter brkpnt number [,addr [,count [,type [,cond]]]]:'
The responce must be a valid breakpoint number (default
is breakpoint 0) from 0 thru 9.
The address (default is highlighted address in PROGRAM
window) is entered as segment:offset. If the segment is
omitted then CS: is used. If the address is does not matter
and a certain condition is what is wanted use the <F1> P T
command.
The count (default is 0001) is entered as a word.
Meaning a value from 0001h to 0ffffh. The count refers to
how many times the address must be reached before an action
is taken. If zero is specified then 0001 will be used.
The type (default is Stop) is entered as a single
character. The options are Disable, Call, Enable, and Stop.
The Disable type must be followed by a breakpoint
number to be disabled upon break.
The Call type must be followed by an address of a user
routine to be called upon break.
The Enable type must be followed by a breakpoint number
to be enabled upon break.
The Stop type simply stops the program upon break.
The condition (default is none) may be specified so
that the breakpoint will do it's action only if the
specified condition is true. See condition expressions in
the expressions sections for details.
<F1> Breakpoint Temporary command:
The <F1> B T command will toggle a temporary
breakpoint. The current highlighted address in the PROGRAM
window will be toggled set and reset.
If a temporary breakpoint is set an asterisks (*) will
be displayed to the right of the address.
The <F10> key has the same function.
When a breakpoint (permanent or temporary is taked)
all temporary breakpoints are reset.
Up to ten temporary breakpoints may be set at a time.
.pa
>>> DISK <<<
Raid has extensive disk commands. Disk I/O can be done
using physical sectors, logical sectors or files.
Features to load a program for debugging and
disassembling a file to disk are also included.
File specification may include full path specification
except for the disk disassembler.
Sectors may be specified as relative or as head, track,
and sector. Relative is refers to as logical. Head, track,
and sector is a physical specification.
Extensive error trapping is used incase of an I/O
error. Hardware problems are displayed in an easy to
understand manner. Software problems or DOS failures are
displayed in the following form:
<error that occured> failure occured at <address>
Interrupt xxh, function xxh
Device: x:, Device header is at <address>
Abort, Ignor, or Retry?
In responce to the above:
Abort: Return to raid
Ignor: Continue with error
Retry: Try function again
Use the <F1> D G and <F1> D P commands for sector disk
I/O. These commands use logical or physical sector
numbering.
For file I/O use the <F1> D N command to specify a file
and <F1> D R to read and <F1> D W to write it.
To load a(nother) program for debugging use the <F1> D
L command.
To disassemble a file to disk use the <F1> D D command.
<F1> Disk Disassemble command:
The <F1> D D command disassembles a program to a disk
file.
If symbols are defined they will be used in the
disassemble.
See program window in the windows sections for more
details on the disassembler.
The user will be prompted:
'Enter filename.ext [,starting address [,count]]:'
Enter a file specification for the output to be named.
Paths are not accepted.
The starting address (default is CS:IP) is where the
disassemble will start. The address is entered as
segment:offset. If the segment is omitted then CS: will be
used.
The count is entered as a word from 1 to 0ffffh. If the
count is omitted then the count will default to the size of
the last file loaded for debugging.
It is possible for a few more bytes to be disassembled
than specified. If the byte count is reached mid-instruction
then the count will go over because that instruction will be
completly disassembled.
(Example output)
.pa
<F1> Disk Get Logical command:
The <F1> D G L command will read one or more sectors
from the disk into memory.
For disk editing sectors can be read in, edited using
the DATA window, and wrote back using the <F1> D P L
command.
If specifing head, track, and sector is more desirable
use the <F1> D G P command.
The user will be prompted:
'Enter address, sector, count, drive:'
The address is entered as segment:offset. If the
segment is not specified then DS: is used.
The sector is a 'relative sector' number. Meaning that
all sectors on the disk are numbered sequential. For example
physical sector: track 0, sector 1, head 0 is relative
sector: sector 0.
The count is a word that refers to how many sectors are
to be sequentially read into memory.
The drive is entered as a single character optionally
followed by a colon refering to the drive name. For example:
A:.
<F1> Disk Get Physical command:
The <F1> D G P command will read one or more sectors
from the disk into memory.
This command is identical to the <F1> D G L command
except that sectors are specified by head, track, and sector
rather that relative sectors.
The user will be prompted:
'Enter address, head, track, sector, count, drive:'
The syntax is the same as the <F1> D G L command except
the head and track values must be entered.
<F1> Disk Load command:
The <F1> D L command load a file for debugging.
If a .SYM file is found in the same path with the same
filename then it is loaded into the symbol table. If the
.SYM file is not a RAID .SYM file it may cause problems. To
remove an invalid .SYM file use the <F1> P S I command.
Path and drive specifications are valid.
Extentions (Even if .COM or .EXE) must be specified.
.EXE files are detected by a valid .EXE format not the
extention name itself.
The size of the file is saved for the default count
when using the <F1> D W command.
The file specification is saved for the default name
used for the <F1> D R and <F1> D W commands. This can be
changed with the <F1> D N command.
Window pointers are set to: BREAKPOINT=0, DATA=DS:0,
PROGRAM=CS:IP, and STACK=SS:SP.
For .COM files IP=0100h, SP=0FFFEh, CS=DS=ES=SS, and 0
is pushed on the stack.
For .EXE files all values are passed from the linker.
Ones that are not are computed so the .EXE file will run
properly under raid. All relocation is taken care of as
well.
A program segment prefix is always built.
The user will be prompted:
'Enter file specification to load:'
A file specification (paths may be included) must be
entered. If the file is not found or an error occurs the
user will be informed.
<F1> Disk Name command:
The <F1> D N command is used to specify a file
specification to be used with the <F1> D R and <F1> D W
commands.
Full path specification may be used or a device name.
For example: lpt1
If the file is not found it is created.
<F1> Disk Put Logical command:
The <F1> D P L command will write one or more sectors
from memory to disk.
USE EXTREME CAUTION USING THIS COMMAND ANY PLACE ON THE
DISK MAY BE DESTROYED IF THE USER WRITES IN THE WORNG PLACE!
The user will be prompted:
'Enter address, sector, count, drive:'
The address is entered as segment:offset. If the
segment is omitted then DS: is assumed.
The sector is a relative sector number. (See <F1> D G L
command for the definition of a relitive sector).
The count refers to a word that specifies the number of
sectors to be written.
The drive is entered as a single character optionally
followed by a colon refering to the drive name. For example:
A:.
<F1> Disk Put Physical command:
The <F1> D P P command will write one or more sectors
from the disk into memory.
The command is identical to the <F1> D P L command
except that sectors are specified as head, track, and sector
rather than relative sectors.
The user will be prompted:
'Enter address, head, track, sector, count, drive:'
The syntax is the same as the <F1> D P L command except
the head and track values must be entered.
<F1> Disk Read command:
The <F1> D R command reads data into memory from a DOS
file.
The file specification to read must have been specified
using the <F1> D N command. If no previous <F1> D N command
has issued then the name of last read or loaded file is
used. If no file has been loaded or read then 'RAIDFILE.COM'
is used. Device input is doe if a device was specified with
the <F1> D N command.
The user is prompted:
'Enter address [, count [,offset]]:'
The address is entered as segment:offset. If the
segment is omitted then CS: is assumed.
The count is a word that refers to how many bytes are
to be read. If the count is not specified then the file is
completly read.
The offset is a word that refers to the starting byte
number to be read. The default is 0 (begining of file).
<F1> Disk Write command:
The <F1> D W command writes data from memory to a DOS
file.
The file specification to write must have been specified
using the <F1> D N command. If no previous <F1> D N command
has issued then the name of last read or loaded file is
used. If no file has been loaded or read then 'RAIDFILE.COM'
is used. Device output is done if a device was specified in
the <F1> D N command.
The user is prompted:
'Enter address [, count [,offset]]:'
The address is entered as segment:offset. If the
segment is omitted then CS: is assumed.
The count is a word that refers to how many bytes are
to be write. If a count is not specified then the numbers of
bytes last read or loaded is used. If no file has previously
been loaded or read and no count is specified then a file
with length of 0 will be written.
The offset is a word that refers to the starting byte
number to be written. The default is 0 (begining of file).
>>> EVALUATE <<<
Raid has a built in facility for evaluating
expressions.
Enter an expression followed by the <F8> key and the
result will be displayed.
<F1> Evalute command:
The <F1> E command is used to evaluate expressions.
The user will be prompted:
'Enter expression to evaluate:'
The expression then must be entered followed by a
return.
The result is displayed in binary, decimal,
hexadecimal, and octal.
For more information see the expressions section.
.pa
>>> FORMAT <<<
Raid has several formats available for ease in use.
Formats are divided into Data and Radix types.
The Data types effect the data window display format.
The data in the window can be shown as addresses, bytes,
long intergers, or words.
Forms: Address 7856:3412
Byte 12 34 56 78
Long 78563412
Word 3412 7856
The Radix types effect the disassembler output of
immediate operands. Immediate operands can be displayed in
binary, decimal, hexadecimal, or octal.
<F1> Format Data Address command:
The <F1> F D A command changes the data window format
to display and accept data in address form.
<F1> Format Data Byte command:
The <F1> F D B command changes the data window format
to display and accept data in byte form.
<F1> Format Data Long command:
The <F1> F D L command changes the data window format
to display and accept data in long interger form. Data
must be entered as addresses under this format.
<F1> Format Data Word command:
The <F1> F D W command changes the data window format
to display and accept data in word form.
<F1> Format Radix Binary command:
The <F1> F R B command causes the disassembler to
display immediate operands in binary. Note: Due to leading
zero supression size of operand must be determined by bytes
disassembled.
<F1> Format Radix Decimal command:
The <F1> F R D command causes the disassembler to
display immediate operands in decimal. Note: Due to leading
zero supression size of operand must be determined by bytes
disassembled.
<F1> Format Radix Hexadecimal command:
The <F1> F R H command causes the disassembler to
display immediate operands in hexadecimal. Byte values will
be displayed as two digits and words will be displayed as
four digits.
<F1> Format Radix Octal command:
The <F1> F R O command causes the disassembler to
display immediate operands in octal. Note: Due to leading
zero supression size of operand must be determined by bytes
disassembled.
.pa
>>> IO <<<
Raid allows the user to input from and output to any 8
or 16 bit port.
Raid also allow a user to input from and output a
device. To do device I/O specify a device (LPT1, COM2,...)
with the <F1> D N command. To output to a device then use
the <F1> D W command. To input from a device use the <F1> D
R command. Note: NO colon follows the device name!
<F1> Io Input command:
The <F1> I I command allows a user to read 16 bits
ports. Is a count is specified the starting port address
is displayed followed by the port contents and the contents
of every successive port address for the count. The
information will be displayed on the display line.
The user will be prompted:
'Enter I/O port address, optional count:'
The I/O port address is a hardware I/O port address
between 0 and 0ffffh.
The optional count defaults to 1. If the specified
count is too large to fit on the display line the data will
be truncated.
<F1> Io Out command:
The <F1> I O command writes words to successive
addresses. Or of course a word to an address.
The user will be prompted:
'Enter I/O port address, word list:'
The I/O port address is a hardware I/O port address
between 0 and 0ffffh.
The word list is the data to be output to the port(s).
Example:
27,34c7 ;port 27=34c7
38,1234,565d ;port 38=1234, port 3a=565d
<F1> Io Read command:
The <F1> I R command allows a user to read 8 bits
ports. Is a count is specified the starting port address
is displayed followed by the port contents and the contents
of every successive port address for the count. The
information will be displayed on the display line.
The user will be prompted:
'Enter I/O port address, optional count:'
The I/O port address is a hardware I/O port address
between 0 and 0ffffh.
The optional count defaults to 1. If the specified
count is too large to fit on the display line the data will
be truncated.
<F1> Io Write command:
The <F1> I W command writes bytes to successive
addresses. Or of course a byte to an address.
The user will be prompted:
'Enter I/O port address, byte list:'
The I/O port address is a hardware I/O port address
between 0 and 0ffffh.
The byte list is the data to be output to the port(s).
Example:
27,34 ;port 27=34
38,12,56 ;port 38=12, port 39=56
.pa
>>> MEMORY <<<
Raid has facilitys for dealing directly with memory.
The features include clearing a portion of memory (<F1> M C
command), finding a pattern in memory (<F1> M F command),
moving a block of data in memory (<F1> M M command), and
setting a pattern in memory (<F1> M S command).
<F1> Memory Clear command:
The <F1> M C command clears a range of memory. Starting
at a specfied address all bytes are set to 0 for the count
specified.
The user is prompted:
'Enter starting address, number of bytes to clear:'
The starting address is the byte to be cleared.
The number of bytes to clear is just that.
Example:
100,100 would clear 100h thru 1FFh
<F1> Memory Find command:
The <F1> M F command finds a specific byte or byte
pattern in memory.
The user is prompted:
'Enter starting address, count, data byte(s):'
The starting address specifies the first location to
look for the pattern.
The count is how many successive locations to search.
The data bytes is a byte list refering to the pattern
to be found.
Example:
100,1000,'t','e','s','t',0d,0a
Searches for 'test' followed by a
carriage return-line feed starting at
address 100h for 1000h bytes.
<F1> Memory Move command:
The <F1> M M command copies a block of data from one
section of memory to another. Care must be taken that the
blocks do not overlap unless a repeated pattern is to be
stored. If that is the case use the <F1> M S command.
The user will be prompted:
'Enter source address, count, destionation address:'
The source address is specified as segment:offset. If
the segment is omitted it will default to DS:.
The count is the number of bytes to be copied.
The destionation address is specified as
segment:offset. If the segment is omitted then DS: is
assumed.
Example:
1000,3cb,4500
3cbh bytes will be copied from 1000h to 4500h.
<F1> Memory Set command:
The <F1> M S command sets a range of memory to
specified byte pattern.
The user will be prompted:
'Enter starting address, count, data byte(s):'
The starting address specifies what address to start
placing the specified pattern. It is entered as
segment:offset. If the segment is ommitted then DS: is
assumed.
The count specifies how many times the pattern is to be
stored.
The data byte(s) refers to a byte list that specifies
the pattern to be stored.
.pa
>>> PROGRAM <<<
Raid has various way of executing a program. The
program can be started at a specified address (<F1> P G).
The program can be (re)started at the current CS:IP (<F1> P
R). The program can be traced instruction at a time or until
a specified condition has occured (<F1> P T). Or the program
can be proceeded thru (<F1> P P). Proceeding is just like
tracing except CALLs, INTerrupt, LOOPs, ect are not traced.
There is also a facility for entering arguments to a
program to use as if they were entered on the command line.
There is a symbol submenu for manipulating program
symbols.
<F1> Program Arguments command:
The <F1> P A command is used to enter a command line to
the program. This line should be entered as arguments that
would normally follow the program name. Program arguments
may be specified after the program name to load in the raid
command line.
The command line is placed at DS:0080. and FCBs 5C and
6C are set.
The user will be prompted:
'Enter command line:'
The command line should be entered followed by a
return.
<F1> Program Go command:
The <F1> P G command starts a program executing at a
specfied address.
The user will be prompted:
'Enter starting address:'
The starting address refers to where program execution
is to begin. The address is specified as segment:offset. If
the segement is omitted then CS: is assumed
.pa
<F1> Program Proceed command:
The <F1> P P command will trace a program one
instruction at a time. The difference from this and tracing
is that certain intructions are skipped. This avoids
stepping thru a loop several times or thru a call that is
known to work.
The following instructions are skipped:
CALL
INT
LOOP
LOOPNZ / LOOPNE
LOOPZ / LOOPE
REP (and following intruction)
REPZ / REPE (and following instruction)
The <F6> key has the same function as <F1> P P.
<F1> Program Restart command:
The <F1> P R command restarts the program at the
current instruction pointer (CS:IP). When a program is first
loaded this command can be used to execute it from the
starting address.
The <F7> key has the same function as <F1> P R.
<F1> Program Symbol Add command:
The <F1> P S A command adds a symbol to the symbol
table. Once a symbol is added it will be honored by the
disassembler and may be used in expressions.
If the symbol already exist it will be replaced by the
new values entered.
The user will be prompted:
'Enter symbol name, address [,type [,size]]:'
The symbol name is any character string (Up to 9
characters). Note: all characters are valid except ',' and a
space.
The address is entered as segment:offset. If the
segment is omitted then CS: is assumed.
The type is an optional single character refering to
what type of symbol is to be defined. The default is Label.
Symbol types:
B For byte DB
C For constant EQU
L For label x:
T For text DB 'x'
W For word DW
Note: The disassembler takes types into account
for a more acurate disassemble.
The size is a word that refers to how long the symbol
field is.
Examples:
FOO,CS:1234 ;Label FOO: at CS:1234
APPLE,27,B,10 ;APPLE at CS:27 is data
;in bytes for 10 bytes
<F1> Program Symbol Initialize command:
The <F1> P S I command initializes the symbol table.
All symbols are erased.
<F1> Program Symbol List command:
The <F1> P S L command displays the symbol table. To do
this the normal raid windows will be replaced by a symbol
window. The escape key will bring them back.
Symbols are displayed in alphabetic order.
The PgDn and PgUp keys may be used to scroll the
window. The display can be positioned to the first symbol
starting with a specified letter by typing the letter.
If more than 23 symbols are defined the symbols are
displayed in two columns.
Display example:
FOOBAR 1EC5:023B Label
FOODATA 1EC5:43CB Byte Length=12
.pa
<F1> Program Symbol Read command:
The <F1> P S R command reads a .SYM file into the
symbol table. The .SYM file must have been created with the
<F1> P S W commands or the MAP2SYM utility.
Any existing symbols in the symbol table will be
detroyed when the symbol file is loaded.
The user will be prompted:
'Enter file name:'
A file name must be specified. Full path
specification may be used. A symbol file does not have to
have a .SYM extension so extension must be specified even if
it's .SYM.
If a .SYM file exist with the same name as the
program loaded for debugging it is automatically loaded into
the symbol table.
<F1> Program Symbol Write command:
The <F1> P S W command write the symbol table to a
file. The specified extension should be .SYM so the symbols
will automatically be loaded in future debugging sessions.
The symbol file can be reloaded using the <F1> P S R
command.
The user will be prompted:
'Enter file name:'
A file name must be specified. Full path specification
may be used.
If the file already exist it will be overwritten.
.pa
<F1> Program Symbol Trace command:
The <F1> P S T command traces a program one instruction
at a time. It can also execute a specified number of
instructions before breaking execution. Optionally a
condition may be specified to break execution on.
The <F5> key will trace one instruction at a time.
When the <F5> key is used and the screen is in update
mode there may be a flicker. The screen will flicker if the
instruction to be executed could possibly effect the screen.
If not no flicker will occur.
When a condition is specified you have an option of
'watching the program run'. To do this put the screen in
nonupdate mode. All program output will overwrite the raid
screen. When command mode is resumed press the <F9> key
twice if the display needs to be restored.
When a program is being traced the escape key will stop
program tracing.
When tracing for a condition the screen update flag can
be toggled using the <F9> key. This is NOT advised.
The screen mode (update/nonupdate) can be set using the
<F1> S U and <F1> S N commands respectivly.
The user will be prompted:
'Enter number of instructions to execute [,cond]:'
If just return is pressed one instruction is exectued.
The <F5> key is recommended for single instruction
execution.
The number of instructions to execute is just that. A
word from 0 to 0ffffh may be specified.
The cond is what condition the program is stop at. If a
conditional trace feature is needed use for example: CX<>CX.
This condition will never occur so only the count will be
valid but conditional features may be used. For information
on condition see conditional expressions in the expressions
section.
.pa
>>> QUIT <<<
When leaving raid all memory is freed, all interrupt
vectors are restored, and the application screen is
restored.
If raid was invoked with a '+r' option then all memory
will be freed except for what raid needs and interrupt
vectors are NOT restored.
<F1> Quit No command:
The <F1> Q N command cancels the exit of raid to DOS in
case the user really does not want to exit.
<F1> Quit Yes command:
The <F1> Q Y command exit from raid to DOS.
.pa
>>> SCREEN <<<
Raid keeps the application screen seperate from its
own. If two screens are available raid can run on one and
the application program on the other. If using only one
screen it will be shared by multiplexing raid and
application screens. There is also a faciltiy for saving the
application screen as a BLOAD (BASIC command) file.
<F1> Screen Application command:
The <F1> S A command displays the application screen to
return to the raid screen press any key. The application
will be updated as the program runs if the screen update is
on (<F1> S U).
The <F9> key has the same function.
<F1> Screen Color command:
The <F1> S C command forces raid to use a color
display.
<F1> Screen Monochrome command:
The <F1> S M command forces raid to use a monochrome
display.
<F1> Screen Nonupdate command:
The <F1> S N command causes raid not to keep track of
screen changes made by the program currently running. This
is useful for the <F1> P T command or if raid is for example
using the color display and the application the monochrome.
<F1> Screen Save command:
The <F1> S S command writes the application screen to
disk in a format so it can be load from BASIC with the BLOAD
command.
<F1> Screen Update command:
The <F1> S U command causes raid to keep track of the
changes made to the application screen. During tracing
instructions that could effect the screen there will be a
short flicker. To view the application screen use the <F9>
key or the <F1> S A command.
.pa
>>> TRACE <<<
Raid has a facility for tracing interrupts. Normally
interrupts are not traced. With the trace facility ranges of
interrupts may be set to trace. Interrupts 0, 1, 3, 6, 8, 9,
and 20 cannot be traced because raid takes these over. When
tracing interrupt 21 (DOS call) there will be an extra step
checking for an exit function. After this interrupt 21 is
vanilla.
<F1> Trace Clear command:
The <F1> T C command disables an interrupt or range of
interrupts to trace.
The user will be prompted:
'Enter low INT range [, high INT range]:'
In response the user may enter a hexadecimal
number of an interrupt not to trace, or two values may
be entered to specify a range of interrupts not to be
traced.
<F1> Trace Disable command:
The <F1> T D command disables all interrupt tracing.
The is raids default. To trace a particular interrupt range
use the <F1> T S command. To enable all interrupt tracing
use the <F1> T E command.
<F1> Trace Enable command:
The <F1> T E command enables all interrupt tracing.
Except of course the ones that cannot be traced. To disable
a certain interrupt or range of interrupts use the <F1> T C
command. To disable all interrupt tracing use the <F1> T D
command.
.pa
<F1> Trace Set command:
The <F1> T S command enable an interrupt or range of
interrupts to trace.
The user will be prompted:
'Enter low INT range [, high INT range]:'
A hexadecimal value may be entered to enable an
interrupt. Two values may be specified to enable a range of
interrupts. Interrupts specified that are not allowed to be
traced will be ignored. If for example '2,5' were entered
interrupts 2, 4, and 5 would be enabled. Not 3 because raid
uses it for breakpoints.
.pa
>>> WINDOW <<<
Information on windows is in the windows chapter. The
following are descriptions of the window commands.
<F1> Window Address command:
The <F1> W A command sets the orgin address of the
current window. An address entered followed by the <F2> key
has the same effect.
The user will be prompted:
'Enter address:'
In the DATA, PROGRAM, and STACK windows full
memory address may be specified. If the segment is
omitted DS, CS, and SS are used respectivly.
In the BREAKPOINT window a breakpoint number must
be specified.
In the CPU window this command issues an error
message.
<F1> Window Change Breakpoint command:
The <F1> W C B command makes the BREAKPOINT window
active. CTRL-B has the same effect. For more information see
the breakpoint window section in the windows chapter.
<F1> Window Change Cpu command:
The <F1> W C C command makes the CPU window active.
CTRL-C has the effect. For more information see the cpu
window section in the windows chapter.
<F1> Window Change Data command:
The <F1> W C D command makes the DATA window active.
CTRL-D has the same effect. For more information see the
data window section in the windows chapter.
<F1> Window Change Program command:
The <F1> W C P command makes the PROGRAM window active.
CTRL-P has the same effect. For more information see the
program window section in the windows chapter.
<F1> Window Change Stack command:
The <F1> W C S command makes the STACK window active.
CTRL-S has the same effect. For more information see the
stack window section in the windows chapter.
<F1> Window Exchange command:
The <F1> W E command will change from hexadecimal to
text mode in the DATA window. In the STACK window it will
reverse the direction. In other windows this has no
function. The <F3> key has the same effect.
.pa
>>> SUMMARY OF COMMANDS <<<
Command Description
======= ===========
Breakpoint Clear Clear a breakpoint
Breakpoint Disable All Disable all breakpoints
Breakpoint Disable Single Disable a breakpoint
Breakpoint Enable All Enable all breakpoints
Breakpoint Enable Single Enable a single breakpoint
Breakpoint Initialize Clear all breakpoints
Breakpoint Set Set a breakpoint
Breakpoint Temporary Toggle temporary breakpoint
Disk Disassemble Disassemble program to a file
Disk Get Logical Read a logical sector
Disk Get Physical Read a physical sector
Disk Load Load a program for debugging
Disk Name Specify a file name
Disk Put Logical Write a logical sector
Disk Put Physical Write a physical sector
Disk Read Read a file
Disk Write Write a file
Evaluate Evaluate an expression
Format Data Address Data in address format
Format Data Byte Data in byte format
Format Data Long Data in long format
Format Data Word Data in word format
Format Radix Binary Display operands in binary
Format Radix Decimal Display operands in decimal
Format Radix Hexadecimal Display operands in hex
Format Radix Octal Display operands in octal
I/o In Read word(s) from port(s)
I/o Out Write word(s) to port(s)
I/o Read Read byte(s) from port(s)
I/o Write Write byte(s) to port(s)
Memory Clear Clear range of memory
Memory Find Find pattern in memory
Memory Move Copy a memory block
Memory Set Place a pattern in memory
Program Arguments Enter command line
Program Go Execute start at an address
Program Proceed Trace, skipping loops
Program Restart Continue execution
Program Symbol Add Add a symbol to the table
Program Symbol Initialize Clear symbol table
Program Symbol List Display symbol table
Program Symbol Read Read symbol table from disk
Program Symbol Write Write symbol table to disk
Program Trace Execute a single instruction
Quit No Cancel quit command
Quit Yes Exit from raid to DOS
Screen Application Display application screen
Screen Color Use color display
Screen Monochrome Use monochrome display
Screen Nonupdate No application screen update
Screen Save Save user screen to a file
Screen Update Update application screen
Trace Clear Disable range of interrupt
tracing
Trace Disable Disable all interrupt tracing
Trace Enable Enable all interrupt tracing
Trace Set Set range of interrupt tracing
Window Address Set orgin address of window
Window Change Breakpoint Select breakpoint window
Window Change Cpu Select cpu window
Window Change Data Select data window
Window Change Program Select program window
Window Change Stack Select stack window
Window Exchange Select other window function
<ESC> Display funtion key setting or
exit from command tree.
<F1> Issue a command
<F2> Set window address
<F3> Window exchange
<F4> Change window
<F5> Execute single intruction
<F6> Trace, skipping loops
<F7> Continue execution
<F8> Evaluate expression
<F9> Show application screen
<F10> Toggle temporary breakpoint
CTRL-B Select breakpoint window
CTRL-C Select cpu window
CTRL-D Select data window
CTRL-E Display last error message
CTRL-N Set IP to current item address
CTRL-P Select program window
CTRL-S Select stack window
<5> on pad (no numlock) Break program execution
.pa
>>> MESSAGES <<<
? Access denied
This is a DOS error meaning the wanted file
cannot be accessed.
? Attempt to divide by zero
An expression was entered that attempted to
divide by zero. For example if BX=0 and SI/BX is
entered as an expession.
Bad FAT image
A bad File Allocation Table was detected on a
disk.
Bad req strc len
A bad request structure length was specified.
? Bad sector - CRC failed
The CRC for a sector was wrong. This means
the data in the sector is not valid.
*** BREAKPOINT x ***
This message is issued when raid is restarted
after a program breakpoint is reached. The x is
replaced by the breakpoint number or ? if the
breakpoint reached was not defined by raid.
Bytes read from disk = x
After a disk read this message displays the
number of bytes read in hexadecimal.
Cannot find pattern in memory
When using the <F1> M F command the pattern
was not found.
? Cannot set breakpoint
A breakpoint was attempted to be set in ROM
or non-existent memory. This error can also be
caused by faulty memory.
? Cannot use register twice in address
An attempt to assemble a memory reference
that used an index register twice. This can be
done in expressions but not assembled since the
8086 processor does not support this.
Character device error
A ROM error occured when trying to
communicate to a character device. (lpt, com,...).
? Close failed - dir entry lost
A DOS error occured when trying to close a
file. If this occurs the file written will not
contain any new information.
>>> Condition true: x <<<
A waited for condition occured. This will be
displayed when tracing a program till a condition.
? Condition truncated - Too big
The condition entered was too long.
Conditional breakpoint conditions are limited to
15 characters.
? CPU flags must be 0 or 1 only
An attempt was made to enter a value other
than 0 or 1 in a CPU flag field.
? CPU window has no address
An attempt was made to set the orgin address
of the CPU window which has no addresses.
.pa
Data error
The ROM detected a data error while doing
I/O.
? Disk controller failed
The ROM detected a disk controller failure.
? Disk is write protected
An attempt to write on a write protected disk
was made.
? Disk seek failed
A seek error occured while reading or writing
a disk sector.
? Disk timed out
The disk prematurly timed out.
? Divide overflow, Interrupt 0
The 8086 processor attempted to divide by
zero or a divide overflow occured.
Drive not ready
The drive is not ready to be used. The door
is not closed, ect...
? File not found
The specified file was not found in the
directory.
Found pattern at location: xxxx:xxxx
The <F1> M F command found the pattern. The
program window's address is set to the location.
.pa
? Free disk space exhasted
All free space on the disk has been used. In
other words the disk is full.
? Garbage after expression
An expression entered was valid except for
'junk' entered after it.
? General disk I/O failure
A ROM error that means the last disk I/O
failed.
General error
A ROM error that means the last I/O failed.
? Immediate value out of range
An immediate value was specified that was out
of range. Example: MOV AL,3000 will cause this
error because the largest number AL can hold is
0FFh.
? Insufficient free memory
This message is issued when there is not
enough RAM to load a program.
? Invalid address list
The entered address list contains an
improperly formatted entry.
? Invalid breakpoint number
A breakpoint number was specified that was
not valid. Valid breakpoint numbers are 0 thru 9.
? Invalid breakpoint type
A breakpoint type was specified other that
Call, Disable, Enable, or Stop.
? Invalid byte list
The entered byte list contains an improperly
formatted entry or an entry that exceeds 0ffh.
? Invalid doubleword list
The entered doubleword list contains an
improperly formatted entry.
? Invalid op code
An unrecognized op code was attempted to be
assembled.
? Invalid operand specified
The operand specified for the op code is
invalid. Note: 8087/80287 op codes are not
supported, they must be entered as escape
sequences.
? Invalid path
The path specified in a file specification
was not found.
? Invalid symbol type
A symbol type other than Byte, Constant,
Label, Text, or Word was specified.
? Invalid word list
The entered word list contains an improperly
formatted entry.
*** Manual break from keyboard ***
The <5> key without numlock was pressed while
a program was running. Doing this interrupts
program execution.
.pa
? Missing closing brace }
An opening brace was encountered without a
closing brace.
? Missing closing bracket ]
An opening bracket was encountered without a
closing bracket.
? Missing closing parenthesis )
An opening parenthesis was encounted without
a closing parenthesis.
? Missing closing quote
A literal was entered without a closing
quote.
? Missing operand
The op code to be assembled required more
operands then were specified.
? No directory space available
The directory is full and can hold no more
file entrys.
Out of paper
The printer is out of paper.
>>> Please wait for disk access(es) <<<
Raid is accessing disk.
>>> Please wait for memory access(es) <<<
Raid is accessing RAM.
* PROGRAM ABORT - Fatal error *
A fatal DOS error was encounter and the Abort
option was entered.
* Program loaded *
The specified program was successfully
loaded.
* Program terminated normally *
The program terminated with a normal exit.
Raid vx.x at your service...
Raid and optional files are loaded and ready
for use.
Read fault
ROM detected a read fault.
? Relative address out of range
A relative address was entered that was out
of the -128 to +128 byte range.
? Sector not found
The specified sector does not exist or could
not be found.
Seek error
The ROM detected a disk seek error while
trying to read or write a sector.
? Symbol table empty
An attempt was made to display a non-existant
symbol table.
? Symbol table full
The symbol table is full and can hold no more
entries.
.pa
? Syntax error
A general syntax occured. This happens when a
sequence is expected to be entered and is not.
*** TEMPORARY BREAKPOINT ***
This is displayed when the program breaks on
a temporary breakpoint.
? Too many temporary breakpoints
An attempt was made to define more than ten
temporary breakpoints.
*** TRACE ***
This means the program broke after executing
a trace.
? Undefined OPcode, Interrupt 6
The 80286 attempted to execute an invalid
instruction.
Unknown command
ROM returned an unknown command error.
Unknown media
ROM returned an unknown media error.
Unknown unit
ROM returned an unknown unit error.
Write fault
ROM returned a write fault error.
Write protected
ROM returned a write protect error meaning an
attempt was made to write on a write protected
disk.